package br.unifor.g2cl.hl;

import java.io.Serializable;

/**
 * Used by {@link RpcDispatcher} to represent a remote method call. It encapsulates all the meta data that represents the method that should be invoked.
 * 
 * @author Leandro Sales (leandro.shp@gmail.com)
 *
 */
public class MethodCall implements Serializable {

	private static final long serialVersionUID = -7394731975525003937L;

	private String name;
	private Class<?>[] paramTypes;
	private Object[] args;

	public MethodCall(String name, Class<?>[] paramTypes, Object[] args) {
		this.name = name;
		this.paramTypes = paramTypes;
		this.args = args;
	}

	public String getName() {
		return name;
	}

	public Class<?>[] getParamTypes() {
		return paramTypes;
	}

	public Object[] getArgs() {
		return args;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setParamTypes(Class<?>[] paramTypes) {
		this.paramTypes = paramTypes;
	}

	public void setArgs(Object[] args) {
		this.args = args;
	}

}
